package com.wondertek.poms.transform.xmlvo;

import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@JacksonXmlRootElement(localName ="Content")
public class ContentFromXml implements Serializable {

    private static final long serialVersionUID = -7073208473193426826L;

    @JacksonXmlProperty(localName = "Version")
    private String version;

    @JacksonXmlProperty(localName = "Sequence")
    private String sequence;

    @JacksonXmlProperty(localName = "ContentID")
    private String contentId;

    @JacksonXmlProperty(localName = "AssetID")
    private String assetId;

    @JacksonXmlProperty(localName = "CPID")
    private String cpId;

    @JacksonXmlProperty(localName = "N_CPID")
    private String nCpid;

    @JacksonXmlProperty(localName = "CreatorID")
    private String creatorId;

    @JacksonXmlProperty(localName = "MiguRank")
    private String miguRank;

    @JacksonXmlProperty(localName = "MiguDBID")
    private Long miguDBID;

    @JacksonXmlProperty(localName = "ppid")
    private String ppid;

    @JacksonXmlProperty(localName = "superBcId")
    private String superBcId;

    @JacksonXmlProperty(localName = "superBcType")
    private String superBcType;

    @JacksonXmlProperty(localName = "svId")
    private String svId;

    @JacksonXmlProperty(localName = "mvid")
    private String mvId;

    @JacksonXmlProperty(localName = "mpid")
    private String mpId;

    @JacksonXmlProperty(localName = "mcid")
    private String mcId;

    @JacksonXmlProperty(localName = "InitialAssetId")
    private String initialAssetId;

    @JacksonXmlProperty(localName = "CRBTId")
    private String CRBTId;

    @JacksonXmlProperty(localName = "doubanID")
    private String doubanId;

    @JacksonXmlProperty(localName = "ContentLevel")
    private String contentLevel;

    @JacksonXmlProperty(localName = "TvEndDate")
    private String tvEndDate;

    @JacksonXmlProperty(localName = "Category")
    private String category;

    @JacksonXmlProperty(localName = "ECID")
    private String ECID;

    @JacksonXmlProperty(localName = "CopyRightType")
    private String copyrightType;

    @JacksonXmlProperty(localName = "MediaLevel")
    private String mediaLevel;

    @JacksonXmlProperty(localName = "Assist")
    private String assist;

    @JacksonXmlProperty(localName = "MTV_ID")
    private String MTV_ID;

    @JacksonXmlProperty(localName = "OnlineTime")
    private String onlineTime;

    @JacksonXmlProperty(localName = "CopyRightID")
    private String copyrightId;

    @JacksonXmlProperty(localName = "AssetRelationId")
    private String assetRelationId;

    @JacksonXmlProperty(localName = "WeeklyBoxOffice")
    private String weeklyBoxOffice;

    @JacksonXmlProperty(localName = "TotalBoxOffice")
    private String totalBoxOffice;

    @JacksonXmlProperty(localName = "VRContentType")
    private String VRContentType;

    @JacksonXmlProperty(localName = "Dimension")
    private String dimension;

    @JacksonXmlProperty(localName = "FormatOf3D")
    private String formatOf3D;

    @JacksonXmlProperty(localName = "ViewDegree")
    private String viewDegree;

    @JacksonXmlProperty(localName = "CRBTCopyRightId")
    private String CRBTCopyRightId;

    @JacksonXmlProperty(localName = "VRImageDepth")
    private String VRImageDepth;

    @JacksonXmlProperty(localName = "VRImageDistortion")
    private String VRImageDistortion;

    @JacksonXmlProperty(localName = "VRDistributeStrategy")
    private String VRDistributeStrategy;

    @JacksonXmlProperty(localName = "IsPrivate")
    private String isPrivate;

    @JacksonXmlProperty(localName = "ThumbViewer")
    private String thumbViewer;

    @JacksonXmlProperty(localName = "ThumbViewerPath")
    private String thumbViewerPath;

    @JacksonXmlProperty(localName = "CutVideo")
    private String cutVideo;

    @JacksonXmlProperty(localName = "CutUsageCode")
    private String cutUsageCode;

    @JacksonXmlProperty(localName = "shareId")
    private String shareId;

    @JacksonXmlProperty(localName = "LiveScreenShot")
    private String liveScreenShot;

    @JacksonXmlProperty(localName = "Type")
    private String type;

    @JacksonXmlProperty(localName = "FormType")
    private String formType;

    @JacksonXmlProperty(localName = "PlaybillStartTime")
    private String playbillStartTime;

    @JacksonXmlProperty(localName = "PlaybillEndTime")
    private String playbillEndTime;

    @JacksonXmlProperty(localName = "PreRecord")
    private String preRecord;

    @JacksonXmlProperty(localName = "LiveContentID")
    private String liveContentId;

    @JacksonXmlProperty(localName = "DisplayName")
    private String displayName;

    @JacksonXmlProperty(localName = "DisplayType")
    private String displayType;

    @JacksonXmlProperty(localName = "Recommendation")
    private String recommendation;

    @JacksonXmlProperty(localName = "DirectRecFlag")
    private String directRecFlag;

    @JacksonXmlProperty(localName = "DirectRecDuration")
    private String directRecDuration;

    @JacksonXmlProperty(localName = "Pricing")
    private String pricing;

    @JacksonXmlProperty(localName = "UnitPricing")
    private String unitPricing;

    @JacksonXmlProperty(localName = "MonthPricing")
    private String monthPricing;

    @JacksonXmlProperty(localName = "CpRatio")
    private String cpRatio;

    @JacksonXmlProperty(localName = "BcRatio")
    private String bcRatio;

    @JacksonXmlProperty(localName = "LiveType")
    private String liveType;

    @JacksonXmlProperty(localName = "PlaybillFilePath")
    private String playbillFilePath;

    @JacksonXmlProperty(localName = "Name")
    private String name;

    @JacksonXmlProperty(localName = "ShortName")
    private String shortName;

    @JacksonXmlProperty(localName = "SerialContentID")
    private String serialContentId;

    @JacksonXmlProperty(localName = "SerialCount")
    private String serialCount;

    @JacksonXmlProperty(localName = "SerialSequence")
    private String serialSequence;

    @JacksonXmlProperty(localName = "SerialTrailingSequence")
    private String serialTrailingSequence;

    @JacksonXmlProperty(localName = "UDID")
    private String udid;

    @JacksonXmlProperty(localName = "Detail")
    private String detail;

    @JacksonXmlProperty(localName = "Author")
    private String author;

    @JacksonXmlProperty(localName = "CreateTime")
    private String createTime;

    @JacksonXmlProperty(localName = "ModifyTime")
    private String lastModifyTime;

    @JacksonXmlProperty(localName = "Copy")
    private String copy;

    @JacksonXmlProperty(localName = "NameCopy")
    private String nameCopy;

    @JacksonXmlProperty(localName = "KeywordsCopy")
    private String keywordsCopy;

    @JacksonXmlProperty(localName = "RecommendationCopy")
    private String recommendationCopy;

    @JacksonXmlProperty(localName = "DetailCopy")
    private String detailCopy;

    //String转Boolean
    @JacksonXmlProperty(localName = "HasMedia")
    private String hasVideo;

    @JacksonXmlProperty(localName = "CDuration")
    private String cduration;

    @JacksonXmlProperty(localName = "CopyRight")
    private CopyRight CopyRight;

    @JacksonXmlProperty(localName = "SourceMedia")
    private SourceMedia sourceMedia;

    @JacksonXmlElementWrapper(localName ="MediaFileLists")
	@JacksonXmlProperty(localName = "MediaFile")
    private List<MediaFileFromXml> mediaFileList;

    @JacksonXmlElementWrapper(localName ="PropertyFileLists")
	@JacksonXmlProperty(localName = "PropertyFile")
    private List<PropertyFile> propertyFileLists;

    @JacksonXmlElementWrapper(localName ="Labels")
	@JacksonXmlProperty(localName = "Label")
    private List<Label> labelList;

    @JacksonXmlElementWrapper(localName ="Keywords")
	@JacksonXmlProperty(localName = "Keyword")
    private List<KeyWord> keyWordList;

	@JacksonXmlElementWrapper(localName ="DisPlayFileLists")
	@JacksonXmlProperty(localName = "DisPlayFile")
    private List<DisplayFileFromXml> displayFileList;
}
